jetpack compose jetpack compose skippable issue 분석하기 - metrics 이전에 Multi Module에서 Compose Compiler가 없는 모듈의 클래스를 가져와 사용할 때, Skippable이 의도대로 적용되지 않는 점을 포스팅한 적이 있습니다. compose를 적용한 모듈 build.gradle에 다음과 같은 코드를 추가하면 됩니다. 이 파일들을 이해하기 위해 다음과 같은 개념을 이해해야 합니다. Restartable Composables restarta... androidjetpack composeandroid Code Coverage Jetpack Compose 프로젝트에 code coverage를 위해 Jacoco를 적용해 보기로 하였습니다. dependencies 추가 plugins 추가 task 추가 testOptions 추가 test를 위해 robolectric 추가 targetSdk 버전 이슈가 있음. test code gradle command... jetpack composeandroidcode coveragesonarqubejacocoandroid Showkase를 이용한 UI 요소 시각화 Jetpack Compose를 활용하여 안드로이드 앱을 개발하면서 적용했던 라이브러리인 airbnb의 Showkase를 소개합니다. Showkase는 Jetpack Compose의 UI 요소들을 시각화하고, 검색 가능하게 하여 디자인 요소에서 발생할 수 있는 문제를 미리 파악하고 재사용을 도와줄 수 있는 라이브러리입니다. 아래와 같은 순서로 소개해 볼까 합니다. 좋은말 같은데 무슨 소리인가요... jetpack composeandroidshowkaseairbnbandroid-libraryairbnb JetPack Compose : 복잡한 state 관리하기 state holder 는 복잡한 UI 의 state 와 그것과 관련된 logic 을 담고있는 객체이다. 하나의 UI 위젯은 0 ~ 다수의 state holder 에 의존할 수 있다. 어떤 state holder 는 비즈니스 로직이나 화면의 상태(screen state)에 접근해야할 경우 viewModel 에 의존할 수 있다. state 와 logic 의 종류 Composable 에 stat... Compose Statejetpack composeandroid composeCompose State Multi Module Jetpack Compose Recomposition Skippable Issue 클린 아키텍처를 구성하면 도메인 레이어에서 모델을 구성하여 프레젠터 레이어에서 해당 모델을 사용하는 경우가 많습니다. 하지만, 프레젠터 레이어에서 컴포즈를 사용할 경우에 숙지해두어야 할 주의사항을 모르고 사용하기 마련입니다. 간단히 말하면, 컴포즈에서 Recomposition이 일어날 때 도메인 레이어에서 사용하는 모델이 파라미터로 들어갈 경우, 스킵이 일어나지 않고 무조건적으로 Recomp... jetpack composeMulti ModuleandroidMulti Module Datastore 튜토리얼 Jetpack Datastore은 키-값 쌍(Preferences Datastore) 또는 유형(Proto Datastore)이 지정된 객체를 저장할수 있는 데이터 솔루션입니다. 에러핸들링 데이터 일관성 Datastore는 간단한 값을 저장할때 쓰기 좋습니다. 문서에도 나와있는데, 복잡한 대규모 데이터 세트나 부분 업데이트, 참조무결성을 원한다면 (말그대로 데이터베이스) ROOM을 사용하는것... androidDatastorejetpack composejetpackDatastore
jetpack compose skippable issue 분석하기 - metrics 이전에 Multi Module에서 Compose Compiler가 없는 모듈의 클래스를 가져와 사용할 때, Skippable이 의도대로 적용되지 않는 점을 포스팅한 적이 있습니다. compose를 적용한 모듈 build.gradle에 다음과 같은 코드를 추가하면 됩니다. 이 파일들을 이해하기 위해 다음과 같은 개념을 이해해야 합니다. Restartable Composables restarta... androidjetpack composeandroid Code Coverage Jetpack Compose 프로젝트에 code coverage를 위해 Jacoco를 적용해 보기로 하였습니다. dependencies 추가 plugins 추가 task 추가 testOptions 추가 test를 위해 robolectric 추가 targetSdk 버전 이슈가 있음. test code gradle command... jetpack composeandroidcode coveragesonarqubejacocoandroid Showkase를 이용한 UI 요소 시각화 Jetpack Compose를 활용하여 안드로이드 앱을 개발하면서 적용했던 라이브러리인 airbnb의 Showkase를 소개합니다. Showkase는 Jetpack Compose의 UI 요소들을 시각화하고, 검색 가능하게 하여 디자인 요소에서 발생할 수 있는 문제를 미리 파악하고 재사용을 도와줄 수 있는 라이브러리입니다. 아래와 같은 순서로 소개해 볼까 합니다. 좋은말 같은데 무슨 소리인가요... jetpack composeandroidshowkaseairbnbandroid-libraryairbnb JetPack Compose : 복잡한 state 관리하기 state holder 는 복잡한 UI 의 state 와 그것과 관련된 logic 을 담고있는 객체이다. 하나의 UI 위젯은 0 ~ 다수의 state holder 에 의존할 수 있다. 어떤 state holder 는 비즈니스 로직이나 화면의 상태(screen state)에 접근해야할 경우 viewModel 에 의존할 수 있다. state 와 logic 의 종류 Composable 에 stat... Compose Statejetpack composeandroid composeCompose State Multi Module Jetpack Compose Recomposition Skippable Issue 클린 아키텍처를 구성하면 도메인 레이어에서 모델을 구성하여 프레젠터 레이어에서 해당 모델을 사용하는 경우가 많습니다. 하지만, 프레젠터 레이어에서 컴포즈를 사용할 경우에 숙지해두어야 할 주의사항을 모르고 사용하기 마련입니다. 간단히 말하면, 컴포즈에서 Recomposition이 일어날 때 도메인 레이어에서 사용하는 모델이 파라미터로 들어갈 경우, 스킵이 일어나지 않고 무조건적으로 Recomp... jetpack composeMulti ModuleandroidMulti Module Datastore 튜토리얼 Jetpack Datastore은 키-값 쌍(Preferences Datastore) 또는 유형(Proto Datastore)이 지정된 객체를 저장할수 있는 데이터 솔루션입니다. 에러핸들링 데이터 일관성 Datastore는 간단한 값을 저장할때 쓰기 좋습니다. 문서에도 나와있는데, 복잡한 대규모 데이터 세트나 부분 업데이트, 참조무결성을 원한다면 (말그대로 데이터베이스) ROOM을 사용하는것... androidDatastorejetpack composejetpackDatastore